home *** CD-ROM | disk | FTP | other *** search
- /*
- Bars&Pipe Pro header file 2/16/93
-
- This is a subset of the complete header file. Call the
- Blue Ribbon Soundworks at (404) 315-0212 to find out about
- Rules For Tools - the complete kit for creating your own
- tools & accessories for Bars&Pipes Pro.
- */
- #define MIDI_NOTEOFF 0x80
- #define MIDI_NOTEON 0x90
- #define MIDI_PTOUCH 0xA0
- #define MIDI_CCHANGE 0xB0
- #define MIDI_PCHANGE 0xC0
- #define MIDI_MTOUCH 0xD0
- #define MIDI_PBEND 0xE0
- #define MIDI_SYSX 0xF0
- #define MIDI_MTC 0xF1
- #define MIDI_SONGPP 0xF2
- #define MIDI_SONGS 0xF3
- #define MIDI_EOX 0xF7
- #define MIDI_CLOCK 0xF8
- #define MIDI_START 0xFA
- #define MIDI_CONTINUE 0xFB
- #define MIDI_STOP 0xFC
- #define MIDI_SENSE 0xFE
-
- #define EVENT_ONTIME 0x10 /* This event is an on-time event. */
- #define EVENT_BRANCH 0x20 /* This event is traversing a branch. */
- #define EVENT_PADEDIT 0x40 /* Not a real time event. */
- #define EVENT_PLAYONLY 0x80 /* Discard event when recording. */
- #define EVENT_VOICE 1 /* Performance event */
- #define EVENT_SYSX 2 /* System exclusive event. */
- #define EVENT_LYRIC 3 /* Lyric string. */
- #define EVENT_TIMESIG 4 /* Time signature change event. */
- #define EVENT_KEY 5 /* Key change event. */
- #define EVENT_CHORD 6 /* Chord change event. */
- #define EVENT_RHYTHM 7 /* Rhythm template event. */
- #define EVENT_DYNAMICS 8 /* Dynamics event. */
- #define EVENT_SEED 9 /* Use to seed repeating tools. */
-
- struct Event {
- struct Event *next; /* The next event in the list. */
- long time; /* When this event occurs. */
- char type; /* What type of event. */
- unsigned char status; /* MIDI status. */
- unsigned char byte1; /* First byte of data. */
- unsigned char byte2; /* Second byte of data. */
- long data; /* Data storage. */
- struct Tool *tool; /* Tool that processes this next. */
- };
-
- struct EventList {
- struct Event *first; /* First in list. */
- struct Event *point; /* Current position in list. */
- };
-
- struct NoteEvent {
- struct NoteEvent *next; /* The next event in the list. */
- long time; /* When this event occurs. */
- char type; /* What type of event. */
- unsigned char status; /* MIDI status. */
- unsigned char value; /* Note value. */
- unsigned char velocity; /* Note velocity. */
- unsigned short duration; /* The duration of this event. */
- short data; /* Data storage. */
- struct Tool *tool; /* Tool that processes this next. */
- };
-
- struct TimeSigList {
- struct TimeSigEvent *first; /* First in list. */
- struct TimeSigEvent *point; /* Current position in list. */
- unsigned short measure; /* Current measure. */
- unsigned short beat; /* Current beat. */
- unsigned short clock; /* Current clock. */
- };
-
- struct Clip {
- struct Clip *next; /* List of clips. */
- struct EventList events; /* Event list. */
- struct EventList chords; /* List of bass chords. */
- struct EventList keys; /* List of keys. */
- struct EventList lyrics; /* List of lyrics. */
- struct EventList rhythm; /* List of rhythm templates. */
- struct EventList dynamics; /* List of dynamic changes. */
- struct TimeSigList timesig; /* List of time signatures. */
- struct String *name; /* Name of this clip. */
- struct String *notes; /* Notes for this clip. */
- long begin; /* Time this begins. */
- long end; /* Time this ends. */
- unsigned char highnote; /* Highest note, for display. */
- unsigned char lownote; /* Lowest note, for display. */
- char locked; /* Locked during record. */
- };
-
- struct Tool {
- struct Tool *next; /* Next tool used by this track. */
- struct Tool *branch; /* Tool on other track. */
- struct Tool *parent; /* Parent tool (for macros.) */
- struct ToolMaster *toolmaster; /* Pointer to actual tool. */
- struct Clip *clip; /* Clip to be worked on. */
- struct String *name; /* Name of this tool. */
- struct Window *window; /* Edit window. */
- struct Track *track; /* Track that owns this tool. */
- long toolid; /* Tool ID. */
- unsigned short left,top; /* Position of edit window. */
- unsigned short width,height; /* Size of edit window. */
- unsigned short x,y; /* Position in pipe display. */
- unsigned short xindex; /* How far down list this is. */
- unsigned short yindex; /* How far down track list this is. */
- short branchindex; /* How far away branch tool is. */
- unsigned short id; /* ID for file io. */
- char intool; /* True if inlist, false if outlist. */
- char inedit; /* Flag to indicate editing now. */
- char touched; /* This tool has been edited. */
- char selected; /* Icon selected in graph. */
- long tooltype; /* Sequence? Input? Branch? */
- /* More tool unique stuff here... */
- };
-
- #define TOUCH_EDIT 1 /* Tool has been edited. */
- #define TOUCH_INIT 2 /* Tool has been initialised. */
-
- #define TOOL_SEQUENCE 1 /* This is actually the track. */
- #define TOOL_INPUT 2 /* This is an input tool. */
- #define TOOL_OUTPUT 4 /* This is an output tool. */
- #define TOOL_NORMAL 8 /* This is a normal tool. */
- #define TOOL_ONTIME 0x10 /* This tool doesn't accept early events. */
- #define TOOL_BRANCHIN 0x20 /* This tool merges two inputs. */
- #define TOOL_BRANCHOUT 0x40 /* This tool has two outputs. */
- #define TOOL_MACRO 0x80 /* This tool is a macro tool. */
- #define TOOL_MACROOUT 0x100 /* This is the output of macro. */
- #define TOOL_MACROBRANCH 0x200 /* This is the branch output of macro. */
- #define TOOL_MACROIN 0x400 /* This is the input of macro. */
- #define TOOL_GROUPIN 0x800 /* This tool part of group input. */
- #define TOOL_MIDI 0x1000 /* This tool is MIDI capable. */
- #define TOOL_NOTPIPE 0x2000 /* This tool can not go in pipeline. */
- #define TOOL_NOTPAD 0x3000 /* This can not go in the toolpad. */
- #define TOOL_STOOL 0x4000 /* This is a sequencer tool. */
-
- #define MMCMD_COPYALLFILES 0x0001 /* pass the path name to copy to */
- #define MMCMD_INSTALLHITLIST 0x0002 /* no parameters */
- #define MMCMD_CONVERTTOHIRES 0x0003 /* no parameters */
- #define MMCMD_CONVERTFROMHIRES 0x0004 /* no parameters */
-
- struct ToolMaster {
- struct ToolMaster *next; /* Next tool in this list. */
- long toolid; /* Tool ID. */
- struct Image *image; /* Icon for this tool. */
- struct Image *upimage; /* Icon for branching up. */
- short x,y; /* Position in toolbox for display. */
- char name[99]; /* Tool name. */
- char inuse; /* Records instance of Tool for file io. */
- char filename[100]; /* Where it is stored on disk. */
- struct Tool *(*createtool)(); /* Routine to allocate a new tool. */
- void (*edittool)(); /* Routine to edit tool parameters. */
- struct Event *(*processevent)(); /* Routine to process an event. */
- struct Event *(*processlist)(); /* Routine to process a list of events. */
- void (*deletetool)(); /* Routine to delete a tool. */
- void (*removetool)(); /* Routine to close down. */
- long (*savesize)(); /* Returns size prior to save. */
- long (*savetool)(); /* Routine to save to disk. */
- struct Tool *(*loadtool)(); /* Routine to load from disk. */
- void (*readsysex)(); /* Pass sysex byte */
- long (*multimediafunc)(); /* passed tool ptr,(long)command,
- variable params. */
- void (*drawtoolicon)(); /* pass tool ptr,rastport,x,y,wid,height */
- long segment; /* This tool's segment list. */
- long altsegment;
- struct Track *intrack; /* Input track for this tool. */
- short toolsize; /* Tool size for loading and saving. */
- char inedit; /* Flag to indicate editing now. */
- char selected; /* Icon selected in graph. */
- long tooltype; /* Type of tool. */
- };
-
- #define HITNAMESIZE 30
-
- struct HitName {
- struct HitName *next; /* Linked list. */
- unsigned char note; /* Equivalent MIDI value. */
- char name[HITNAMESIZE]; /* Text. */
- };
-
- struct Accessory {
- struct Accessory *next; /* Next accessory in this list. */
- long id; /* Accessory ID. */
- struct Image *image; /* Icon for this accessory. */
- struct Image *onimage; /* Icon for when selected. */
- char name[100]; /* Name. */
- char filename[100]; /* Where it is stored on disk. */
- struct Window *window;
- unsigned short left,top; /* Position of edit window. */
- unsigned short width,height; /* Size of edit window. */
- unsigned short x,y; /* Position in access box. */
- long (*remove)();
- long (*edit)(); /* Routine to edit accessory. */
- long (*open)(); /* Routine to open it. */
- long (*close)();
- long (*size)();
- long (*save)();
- long (*load)();
- long (*install)(); /* Install in environment. */
- long (*clear)(); /* Clear from environment. */
- long (*expandc)(); /* Future routine? */
- long segment; /* This accessory's segment list. */
- long altsegment; /* Alternate segment list. */
- char selected; /* Icon selected in graph. */
- };
-
- #define TC_START 1
- #define TC_STOP 2
- #define TC_POSITION 3
- #define TC_RECORDON 4
- #define TC_RECORDOFF 5
- #define TC_PLAY 6
- #define TC_TICK 7
-
- struct Functions {
- char locked;
- char measureres; /* Cuts resolve to measures. */
- char recording; /* Set when recording. */
- char running; /* Set when running. */
- char punchenabled; /* Auto punch in and out enabled. */
- char loopenabled; /* Loop mode turned on. */
- char clicking; /* Click track on? */
- char seeclick; /* Visual metronome. */
- char multiin; /* Multiple inputs? */
- char clickchannel; /* MIDI CLick channel. */
- char midiclock; /* Sync to MIDI clocks. */
- char smpteclock; /* Sync to SMPTE. */
- char sendmidiclock; /* Send out MIDI clocks. */
- char smptetype; /* Which SMPTE format. */
- char countdown; /* Do count down. */
- char midiclick; /* Use MIDI for click track. */
- char chop;
- long leadinstart; /* Length of lead in. */
- long timenow; /* Current time. */
- unsigned long markone; /* Auto locate register. */
- unsigned long marktwo; /* Auto locate register. */
- unsigned long punchin; /* Punch in point. */
- unsigned long punchout; /* Punch out point. */
- unsigned long loopin; /* Loop in point. */
- unsigned long loopout; /* Loop out point. */
- unsigned long cutin; /* Cut in point. */
- unsigned long cutout; /* Cut out point. */
- long starttime; /* Where to play from. */
- long stoptime; /* Marker to stop at. */
- unsigned long padcutin; /* For non real time edits. */
- unsigned long padcutout; /* For non real time edits. */
- unsigned long songlength;
- long startoffset; /* Starting hi res clock offset. */
- unsigned short tempos[4];
- unsigned short tempo; /* Current tempo. */
- unsigned short inittempo; /* Initial tempo. */
- char songname[100];
- char author[100];
- short palette[8]; /* Colors. */
- char remotecontrol[128]; /* Table of remote controls. */
- unsigned long markthree; /* Auto locate register. */
- unsigned long markfour; /* Auto locate register. */
- unsigned char volumenum; /* Mix Maestro Volume CC. */
- unsigned char pannum; /* Mix Maestro Pan CC. */
- unsigned char subdivide; /* Metronome subdivision. */
- char bypassmix; /* Use undo buffer. */
- long savestop; /* Place to save stop sign. */
- long printflags; /* Print flags. */
- unsigned long recordfilters;
- long userlength; /* User defined song length. */
- long saveflags;
- long more[4]; /* Expansion space. */
- struct Tool *midiouttool; /* Tool to send MIDI Metronome. */
- struct Tool *clockouttool; /* Tool to send MIDI Clocks. */
- struct ToolTray *tooltraylist; /* List of tool trays. */
- struct PatchNames *patchlist; /* List of patch names lists. */
- struct Song *songlist; /* For time-line stuff. */
- unsigned long clockcycles; /* Time in clock cycles! */
- char useclip; /* Use the ClipBoard. */
- char externclock; /* External clock flag. */
- short timeroffset; /* For external clock. */
- struct Event *coordlist; /* Window coordinates. */
- struct Track *tracklist; /* Top track in list. */
- struct Clip masterclip; /* Master key, chord, signature. */
- struct Clip masterundo;
- struct Clip mastercut;
- struct Edit *masteredit;
- struct Tool *edittools[16]; /* 16 Tools to edit with. */
- unsigned short toolid; /* Global tool id. */
- short groupid; /* Currently selected group. */
- struct Chord *scalelist; /* All scales. */
- struct Chord *chordlist; /* All chords. */
- struct Rhythm *rhythmlist; /* All rhythms. */
- struct Section *sectionlist; /* ABA list. */
- struct TempoChange *tempochangelist;/* Tempo Change list. */
-
- long whoops; /* Time line song list used to be here. */
- long frame; /* Current frame. */
- unsigned long hirestime; /* Hi res clock. */
- char version;
- long SysBase; /* Exec library. */
- long DOSBase; /* DOS library. */
- long IntuitionBase;
- long GfxBase;
- long LayersBase;
- long standardout; /* For printf. */
- struct Event *pipequeue; /* Event queue. */
- struct Event *earlyqueue; /* Ahead of time queue. */
- struct Screen *screen; /* Screen we all exist in. */
- struct Window *window; /* Main window. */
- struct ToolMaster *toolmasterlist; /* All ToolMasters. */
- struct Accessory *accesslist; /* All Accessories. */
- struct Tool *wasmidiouttool; /* Tool to send MIDI Metronome. */
- long (*stealmidi)(void); /* Steal serial interrupt. */
- long (*releasemidi)(void); /* Release MIDI. */
- long (*audioclick)(void); /* Play click sound. */
-
- struct Track *selectedtrack; /* Track currently selected. */
-
- long flags; /* Additional flags. */
- char *filename; /* Pointer to filename buffer. */
- long sunrizeflags;
- struct DisplayFlags *displayflags; /* Display flags for updateobject. */
- short displaywidth, displayheight;
- char osbits; /* Used by osms output. */
- char mmrecord; /* Enable mm record. */
- char padettes[2];
- long pad[54]; /* Room for more. */
-
- long (*removetoolfrommacro)(struct MacroTool *macro,
- struct ToolMaster *toolmaster,
- char remove);
- void (*edittool)(struct Tool *tool);
- void (*addtoolremover)(long (*routine)());
- void (*removetoolremover)(long (*routine)());
-
- void (*drawslice)(struct RastPort *rp,struct Image *image,
- short x,short y,short start,short finish);
- void (*drawtool)(struct Tool *tool,
- struct RastPort *rp,short x,short y,short h);
- long (*checklegaltool)(char *id); /* for MM tools, check if legal */
-
- void (*settimenow)(long time); /* Set current time. */
- void (*updateobject)(void *object,void *data);
- void (*linkobject)(struct Window *window,void *object,void (*routine)());
- void (*unlinkobject)(struct Window *window,void *object);
- void (*unlinkwindow)(struct Window *window);
-
- void (*installhitlist)(struct Track *track,struct HitName *list);
-
- void (*settempo)(short tempo);
- void (*installtempochangelist)(struct TempoChange *);
-
- struct Transport *(*installtransportp)(void (*routine)(void),
- char priority);
-
- long (*fastgets)(long,long,long); /* fgets() */
- long (*fastseek)(long,long,long); /* Fast seek file io. */
-
- void (*adddisplayserver)(void (*routine)(void),
- struct Window *window);
- void (*removedisplayserver)(struct Window *window);
-
- struct Tool *(*dragtool)(struct Window *window,
- struct ToolMaster *toolmaster,
- struct Tool *copy);
- void (*addtoolserver)(struct Tool * (*routine)(void),
- struct Window *window);
- void (*removetoolserver)(struct Window *window);
-
- long (*editsysex)(struct Track *track,
- struct StringEvent *stringevent);
- struct Event *(*dupeevent)(); /* Duplicate an event. */
-
- long (*frametotime)(long frame); /* Convert frame to time. */
- long (*timetoframe)(long time); /* Convert time to frame. */
- long (*frametohmsf)(long frame); /* Convert frame to hmsf. */
- long (*hirestotime)(long hires); /* Hires clock to time. */
- long (*timetohires)(long time); /* Time to hires. */
- long (*hirestoframe)(long hires); /* Hires clock to frame. */
- long (*frametohires)(long frame); /* Frame to hires clock. */
-
- void (*deletetool)(struct Tool *tool);
- struct Tool *(*createtool)(struct ToolMaster *toolmaster,
- struct Tool *copy);
- long (*sizetool)(struct Tool *tool);
- long (*savetool)(long file,
- struct Tool *tool);
- struct Tool *(*loadtool)(long file,
- struct ToolMaster *toolmaster,
- long size);
- struct ToolMaster *(*gettoolmaster)(long id);
-
- /* Old routines: */
-
- void (*processsmpteclock)(struct Event *event);
- void (*processmidiclock)(struct Event *event);/* Process a MIDI clock event .*/
- void (*processsysex)(); /* Does nothing. */
- void (*processinputevent)(char command);
-
- long (*clearenvironment)(struct Environment *environ,
- char all);
- long (*installenvironment)(struct Environment *environ);
- long (*loadsong)(long file,struct Environment *environ);
- long (*savesong)(long file,struct Environment *environ);
-
- struct Transport *(*installtransport)(void (*routine)(void));
- void (*removetransport)(void (*routine)(void));/* Remove transport handler. */
- void (*transportcommand)(unsigned char command,
- long time); /* Send command to handlers. */
-
- void (*qevent)(struct Event *event);/* Put event in queue. */
- struct Event *(*allocevent)(); /* Allocate an event. */
- struct Event *(*fastallocevent)(); /* Allocate an event from interrupt. */
- void (*freeevent)(struct Event *event);/* Free an event. */
- struct Event *(*sorteventlist)(struct Event *events);
- void (*freelist)(struct Event *list);/* Free a list of events. */
- struct Event *(*dupelist)(struct Event *list); /* Duplicate a list. */
-
- struct String *(*allocstring)(char *text);
- void (*freestring)(struct String *string);
- void (*replacestring)(struct String **string,
- char *text);
- void (*dupestring)(struct String **string);
- char *(*stringtext)(struct String *string);
-
- void (*clearclip)(struct Clip *clip);/* Clear a clip. */
- void (*dupeclip)(struct Clip *source,
- struct Clip *destination);
- void (*cutclip)(struct Clip *source,
- struct Clip *clip,
- unsigned long begin,
- unsigned long end);
- void (*copyclip)(struct Clip *source,
- struct Clip *clip,
- unsigned long begin,
- unsigned long end);
- void (*pasteclip)(struct Clip *source,
- struct Clip *clip,
- unsigned long begin);
- void (*mixclip)(struct Clip *source,
- struct Clip *clip,
- unsigned long begin,
- unsigned long end);
- struct Clip *(*loadclip)(long filein);
- long (*saveclip)(long filein,
- struct Clip *clip);
- long (*clipboard)(long command,
- struct Clip *clip);
-
- struct Track *(*createtrack)(char new,
- char in);
- void (*deletetrack)(struct Track *track); /* Delete a track. */
-
- char *(*myalloc)(long size,long flags); /* Internal allocation routine. */
- void (*myfree)(char *item,long size); /* Internal free routine. */
-
- long (*doscall)(); /* Make a DOS command. */
- long (*fastopen)(char *name,long mode); /* Fast file open. */
- long (*fastwrite)(long file,char *buffer,long size);
- long (*fastread)(long file,char *buffer,long size);
- long (*fastclose)(long file); /* Fast file close. */
-
- long (*popupkey)(struct Window *window,long was);
- long (*popupnote)(struct Window *window,long was);
- long (*popupoctave)(struct Window *window,long was);
- struct Chord *(*popupchord)(struct Chord *old);
- struct Rhythm *(*popuprhythm)(struct Rhythm *old);
- struct Chord *(*popupscale)(struct Chord *old);
-
- long (*measuretotime)(struct Clip *clip,unsigned short measure);
- long (*timetomeasure)(struct Clip *clip,long time);
- long (*totalbeatstotime)(struct Clip *clip,unsigned long beats);
- long (*timetototalbeats)(struct Clip *clip,unsigned long time);
- void (*lengthtostring)(struct Clip *clip,
- unsigned long time,
- unsigned long length,
- char *buffer);
- unsigned long (*stringtolength)(struct Clip *clip,
- unsigned long time,
- char *buffer,
- unsigned long length);
- void (*timetostring)(struct Clip *clip,
- long time,
- char *buffer);
- unsigned long (*stringtotime)(struct Clip *clip,
- char *buffer,
- unsigned long time);
- void (*frametostring)(long frame,
- char *buffer);
- unsigned long (*stringtoframe)(char *buffer,
- unsigned long frame);
- void (*notetostring)(struct Clip *clip,
- unsigned short note,
- char *string);
- short (*stringtonote)(char *string);
-
- long (*noteinkey)(struct Clip *clip,
- struct NoteEvent *note);
- long (*noteinchord)(struct Clip *clip,
- struct NoteEvent *note);
- long (*noteinrhythm)(struct Clip *clip,
- struct NoteEvent *note);
- struct KeyEvent *(*timetokey)(struct Clip *clip,
- unsigned long time);
- struct ChordEvent *(*timetochord)(struct Clip *clip,
- unsigned long time);
- unsigned short (*timetodynamics)(struct Clip *clip,
- long time);
- struct NoteEvent *(*nextrhythmbeat)(struct Clip *clip,
- long time,
- long *eventtime);
- long (*scaletotwelve)(struct Clip *clip,
- unsigned long time,
- char value);
- long (*twelvetoscale)(struct Clip *clip,
- unsigned long time,
- char value,
- char *offset);
- long (*random)(long range); /* Return random number. */
-
- long (*areyousure)(char *text); /* Put up "are you sure?" requester. */
- void (*openwait)(void); /* Open wait requester. */
- void (*closewait)(void); /* Close wait requester. */
-
- void (*display)(long refresh); /* Display main window. */
- struct ListNode *(*ScrollingPopUpMenu)(struct Screen *screen,
- struct ListNode *list,
- void (*displayroutine)(void),
- short itemheight,
- short itemwidth,
- short count);
- void (*DragSlider)(long window,
- long gadget,
- long width,
- long routine,
- char axis);
- void (*DrawSlider)(long window,
- long gadget,
- long position,
- long width,
- long routine,
- char axis);
- /* Inovatools 1 routines. */
- long (*Itoa)(long i,char *s,long r);
- long (*Atoi)(char *s,long r);
- void (*RefreshGadget)(struct Window *window,
- long id);
- struct Gadget *(*GetGadget)(struct Window *window,
- unsigned short id);
- struct StringInfo *(*GetStringInfo)(struct Window *window,
- unsigned short id);
- void (*SetStringInfo)(struct Window *window,
- unsigned short id,
- char *string);
- long (*GetStringInfoNumber)(struct Window *window,
- unsigned short id,
- unsigned short base);
- void (*SetStringInfoNumber)(struct Window *window,
- unsigned short id,
- long number,
- long base);
- struct PropInfo *(*GetPropInfo)(struct Window *window,
- unsigned short id);
- void (*SetPropInfo)(struct Window *window,
- unsigned short id,
- unsigned short hpos,
- unsigned short vpos);
- struct IntuiMessage *(*GetSelectIntuiMessage)(
- struct Window *window,
- unsigned long type);
- struct IntuiMessage *(*GetIntuiMessage)(struct Window *window);
- void (*ClearIntuiMessages)(struct Window *window);
- struct Menu *(*GetMenu)(
- struct Menu *menulist,
- long menunum);
- struct MenuItem *(*GetMenuItem)(
- struct Menu *menu,
- long menunum,
- long itemnum,
- long subitemnum);
- void (*CheckMenuItem)(
- struct Menu *menu,
- long menunum,
- long itemnum,
- long subitemnum,
- long on);
- void (*EnableMenuItem)(
- struct Menu *menu,
- long menunum,
- long itemnum,
- long subitemnum,
- long on);
- void (*EnableMenu)(
- struct Menu *menu,
- long menunum,
- long on);
- void (*EnableGadget)(
- struct Window *window,
- short id,
- short on);
- void (*SelectGadget)(
- struct Window *window,
- short id,
- short on);
- struct NewWindow *(*DupeNewWindow)(struct NewWindow *nw);
- void (*DeleteNewWindow)(struct NewWindow *nw);
- struct Menu *(*DupeMenu)(struct Menu *source);
- void (*DeleteMenu)(struct Menu *list);
- void (*SendCloseWindow)(struct Window *window);
- long (*List_Len)();
- long (*List_Position)();
- struct ListItem *(*List_Pred)();
- struct ListItem *(*List_Index)();
- struct ListItem *(*List_Cat)();
- struct ListItem *(*List_Insert)();
- struct ListItem *(*List_Remove)();
- void (*SetScrollBar)(struct ListInfo *info);
- void (*DrawList)(struct ListInfo *info);
- void (*ScrollList)(struct ListInfo *info);
- struct ListItem *(*SizeList)(struct ListInfo *li);
- struct ListItem *(*InitListInfo)(struct ListInfo *li);
- void (*RemoveListInfo)(struct ListInfo *li);
- struct ListItem *(*GetListItem)(struct ListInfo *li);
- void (*ClickList)(struct ListInfo *li,short id);
- void (*InsertListItem)(struct ListInfo *li,struct ListItem *item);
- struct ListItem *(*RemoveListItem)(struct ListInfo *li);
- short (*PopUpMenu)(struct Window *window,struct Menu *menu);
- void (*DragGadget)(struct Window *window,struct DragInfo *g);
- void (*FileName)(
- char *blankstring,
- char *prompt,
- char *ptemplate,
- struct Screen *screen,
- short mode,
- short x,
- short y);
- struct Window *(*FlashyOpenWindow)(struct NewWindow *new);
- void (*FlashyCloseWindow)(struct Window *window);
- struct Window *(*WhichWindow)(struct Window *window,
- short x,
- short y);
- struct ListInfo *(*DupeListInfo)(struct ListInfo *listinfo);
- void (*DeleteListInfo)(struct ListInfo *listinfo);
- void (*RealTimeScroll)(struct ListInfo *li);
- void (*EmbossOn)(struct Window *,short ,short );
- void (*EmbossOff)(struct Window *,short );
- void (*DrawEmbossed)(struct Window *,short );
- void (*EnableEmbossed)(struct Window *,short ,short );
- void (*SelectEmbossed)(struct Window *,short ,short );
- void (*ModifyEmbossedProp)(struct Window *,short,long,long,long,long,long,long);
- long (*DragEmbossedProp)(struct Window *,short );
- long (*DrawEmbossedProp)(struct Window *,short );
- long (*ShiftEmbossedPropOnce)(struct Window *,short,short,short );
- long (*ShiftEmbossedProp)(struct Window *,short,short ,short );
- long (*EmbossedPropOn)(struct Window *,short,long (*)(void),unsigned short ,
- unsigned short );
- void (*FatEmbossedPropOn)(struct Window *,short ,short ,short ,
- long (*)(void),unsigned short ,char );
- void (*EmbossedPropOff)(struct Window *,short );
- void (*FatEmbossedPropOff)(struct Window *,short ,short ,short );
- void (*DrawEmbossedRect)(struct RastPort *,short ,short ,short ,short ,short );
- void (*DrawEmbossedWindow)(struct Window *,short );
- void (*EmbossWindowOff)(struct Window *);
- void (*EmbossWindowOn)(struct Window *,
- long ,char *,unsigned short ,unsigned short ,long (*)(void),long (*)(void));
- void (*EmbossRequestOn)(struct Window *,char *);
- void (*RefreshEmbossedWindowFrame)(struct Window *);
- int (*SystemGadgets)(struct Window *,long ,struct Gadget *,long);
- void (*ModifyWindowProps)(struct Window *,unsigned long ,unsigned long ,
- unsigned long ,unsigned long ,unsigned long ,unsigned long );
- void (*EmbossedWindowTitle)(struct Window *,char *);
- void (*EmbossedWindowText)(struct Window *,char *,short );
- void (*setsmalltext)(struct Window *window,short id,char *name);
- short (*fitsmalltext)(char *text,short length);
- void (*usetopazfont)(struct RastPort *rp);
- void (*usesmallfont)(struct RastPort *rp);
- };
-